2D Majority Game w/ Two Features

created with NetLogo

view/download model file: 2D MG Two Features.nlogo

WHAT IS IT?
-----------
We now extend the basic two-dimensional majority game model by adding features to the agents' type possibilities (more below). The agents still live in a 2D world with a toriodal topology (so there are still no 'edge effects'). In each step, agents change their state based upon the majority (or plurality) of their neighbors' states.

Now the agents can be one of four types, but the types are not independent. Agent types are now separated into features and values. Features represent different "characteristics" (or "attributes" or "dimensions" or "properties") of an agent. Think of the number of features as the number of possible properties agents can keep track of. Features are like variables that just hold values. The number of values (called "traits" by Axelrod or sometimes "alleles" in the literature) represents the possible variety that a feature may exhibit.

So in the previous models we had one feature (color) and two values (red or blue). In Mendelian genetics there are two features and two values for each (a gene copy from each chromosome and each can be either dominant or recessive). The current model also has two features and two values for each. Agents can be of types [0 0], [0 1], [1 0], or [1 1] (corresponding to blue, violet, purple, and red respectively).

HOW TO USE IT
-------------
Clicking SETUP fills the world with agents (one per patch) each with a randomly chosen value for each feature.

Clicking GO makes the turtles look at their neighbors and decide what color to become. All the agents look and change simultaneously, that is, the model employs synchronous updating. Clicking STEP runs GO just once.

The RADIUS slider allows the user to set how far away the agents will look to collect information about other users' states. In two dimensions, radius is a bit tricky. The radius includes all cells that can be reached from the home cell by moving vertically, horizontally, or diagonally for up to that many spaces. For example, if you set RADIUS to 1, each agent will look out to the eight cells surrounding it (plus the cell that itself is on). If you set RADIUS to 3, then it will include all spaces that can be reached in 3 "steps"; left 3, up 3, north-east 3, 2 to the right and one NE, etc. For more info about radius, see "Neighborhoods Example" in the Code Examples folder.

The USE-PLURALITY toggle switch allows the user to specifiy whether the decision rule is a "majority" rule or a "plurality" rule. If the USE-PLURALITY switch is on then each agent will convert the value of each feature to whichever value is most prominent among its neighbors.

If USE-PLURALITY is off, then the decision is based upon majority rule. The PERCENT-NEEDED slider determines the quorum, i.e. how many neighbors with a particular value are necessary to make an agent change its value for that feature (each feature is evaluated independently). At the lowest level (50%) the models runs a strict majority and at the maximum level (100%) unanimity is required.

The NUMBER_NEEDED monitor box lets the user know how many agents of a single color are required to convert each agent, given the provided RADIUS and PERCENT-NEEDED. Note that the actual number must be strictly greater than the number in this box (can you look at the code and answer why?).

THINGS TO NOTICE
----------------
The colors start off very scattered. Notice that they form clusters after you run the model. While the model is running, change the radius. Notice how that changes the cluster size (cluster size = the number of contiguous agents of the same color) and SHAPE. Why does the overall cluster shape change like that?

In many runs, we see chunks of each of the four colors, but the shapes of the chunks are very different than what we saw with only one feature. What causes (allows) these odd-shaped chunks and slices to appear?

QUESTIONS
---------
1) What is the difference between a 50% majority rule and the plurality rule in this model?
2) Under each rule, what happens when an agent has equal numbers of neighbors with each color? Is this the same basic behavior as with one feature?
3) Could a feature have only one possible value? What would that mean and how would it effect the model behavior?

THINGS TO TRY
-------------
Change the code so that you can set the PERCENTAGE-NEEDED to different amounts for the two features. What do you expect to see happen if one is 50% and the other is 70%? Does anything unexpected happen?

Now change the code so that the PERCENTAGE-NEEDED is different for the different values (i.e. one value is more contagious than the other). What model behavior do you expect and does anything unexpected happen? What parameter could you add to the model to balance the effect of the one value being more influential?

CREDITS AND REFERENCES
----------------------
To refer to this model please use: Bramson, A and Scott Page (2005). NetLogo 2D MG Two Features model. "http://bramson.net/academ/scottsnetlogo/2D MG Two Features.html". Center for the Study of Complex Systems, University of Michigan, Ann Arbor, MI.